﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace KnowledgeAssistant
{
    public partial class ChangeLoginPassForm : Form
    {
        User user = null;
        public ChangeLoginPassForm(int id)
        {
            user = UserUtil.GetUser(id);
            InitializeComponent();
            textBox1.Text = user.Name; 
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            EditUser();
        }

        private Boolean checkBeforeConfirm()
        {
            if (textBox2.Text != textBox4.Text)  { MessageBox.Show("Введенные пароли не совпадают!"); return false; }

            if (textBox1.Text.Length < 4 || textBox2.Text.Length < 4 || textBox4.Text.Length < 4) { MessageBox.Show("Логин и пароль должны состоять хотя бы из 4 символов!"); return false; }

            return true;
        }

        private void EditUser()
        {
            if (checkBeforeConfirm())
            {
                if (textBox1.Text == user.Name)
                {
                    DatabaseConnect.execSP("EditUser",
                        new List<string>() { 
                    user.Name,
                    user.ID.ToString(), 
                    textBox2.Text.Trim(), 
                    ((Role)user.Role).RoleID.ToString()
                                            });
                    this.Close();
                }
                else
                    if (!StudentsForm.checkExistUser(textBox1.Text))
                    {
                        DatabaseConnect.execSP("EditUser",
                            new List<string>() { 
                    textBox1.Text.Trim(),
                    user.ID.ToString(), 
                    textBox2.Text.Trim(), 
                    ((Role)user.Role).RoleID.ToString()
                                            });
                        this.Close();
                    }
                    else MessageBox.Show("Пользователь с таким именем уже существует!");
            }            
        }

        private void textBox4_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                button1_Click(sender, e);
            }
        }
    }
}
